Skip to content

BubbleUPnPServer unter Debian Wheezy installieren

Die Installation von BubbleUPnPServer, setzt eine vorhandene Java Installation voraus. Das kann man einfach mit folgendem Befehl prüfen.

root:~# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

In unserem Fall werden wir den BubbleUPnPServer nach /opt installieren. Zuerst gehen wir als root nach /opt und erstellen uns ein Verzeichnis /opt/BubbleUPnPServer-0.7. Dann wechseln wir in das soeben erstellte Verzeichnis und laden uns den Server und auch das ffmpeg Paket herunter und entpacken es.

root:~# cd /opt
root:/opt# mkdir BubbleUPnPServer-0.7
root:/opt# cd BubbleUPnPServer-0.7/
root:/opt/BubbleUPnPServer-0.7# wget http://www.bubblesoftapps.com/bubbleupnpserver/0.7/BubbleUPnPServer-0.7.zip
root:/opt/BubbleUPnPServer-0.7# wget http://www.bubblesoftapps.com/bubbleupnpserver/ffmpeg.zip
root:/opt/BubbleUPnPServer-0.7# unzip BubbleUPnPServer-0.7.zip && rm BubbleUPnPServer-0.7.zip
root:/opt/BubbleUPnPServer-0.7# unzip ffmpeg.zip && rm ffmpeg.zip

Als nächsten Schritt öffnen wir die Datei launch.sh und bearbeiten diese.

root:/opt/BubbleUPnPServer-0.7# vi launch.sh
#!/bin/sh

PIDFILE="/opt/bubble/bubble.pid"

# Optional, you can bind the BubbleUPnP Server to a defined interface
#ARGS="-lanIp 192.168.1.1"

HOMEDIR="$(dirname ${0})"
cd ${HOMEDIR}

if [ "x$JAVA_HOME" != "x" ]; then
    JAVA="$JAVA_HOME/bin/java"
else
    JAVA="java"
fi

# to make sure ffmpeg is found and used if present in start directory
export PATH=.:${PATH}

# -Xss256k: thread stack size. 256K reduces per-thread memory usage
# and may prevent "java.lang.OutOfMemoryError: unable to create new native thread" on some systems
# -Djava.awt.headless=true: required for image transcoding to work on headless systems (eg no X-Window libraries)
exec "${JAVA}" -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding="UTF-8" -jar BubbleUPnPServer.jar $ARGS $* >/dev/null 2>&1 &
echo $! >$PIDFILE

Nun werden wir die Datei launch.sh ausführbar machen.

root:/opt/BubbleUPnPServer-0.7# chmod 755 launch.sh

Als nächstes erstellen wir uns ein Start/Stop Skript /etc/init.d/bubble.

root:/opt/BubbleUPnPServer-0.7# vi /etc/init.d/bubble
#!/bin/sh

# chkconfig: 345 99 10
# description: Startup/shutdown script for BubbleUPnPServer daemon
#
# Based on the MiniDLNA script by Justin Maggard
# Modified for BubbleUPnPServer by Marko Schulz <info@tuxnet24.de>
#
### BEGIN INIT INFO
# Provides:          bubble
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Startup/shutdown script BubbleUPnP Server
### END INIT INFO

BUBBLEUPNP=/opt/bubble/launch.sh
PIDFILE=/opt/bubble/bubble.pid
UID="tux"
GID="tux"
ARGS=""

test -f $BUBBLEUPNP || exit 0

. /lib/lsb/init-functions

case "$1" in
start)  log_daemon_msg "Starting bubble" "bubble"
        start-stop-daemon --start --quiet --chuid $UID:$GID --pidfile $PIDFILE --startas $BUBBLEUPNP -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
stop)   log_daemon_msg "Stopping bubble" "bubble"
        start-stop-daemon --stop --quiet --chuid $UID:$GID --pidfile $PIDFILE
        log_end_msg $?
        ;;
restart|reload|force-reload)
        log_daemon_msg "Restarting bubble" "bubble"
        start-stop-daemon --stop --retry 5 --quiet --chuid $UID:$GID --pidfile $PIDFILE
        start-stop-daemon --start --quiet --chuid $UID:$GID --pidfile $PIDFILE --startas $BUBBLEUPNP -- $ARGS $LSBNAMES
        log_end_msg $?
        ;;
status)
        status_of_proc -p $PIDFILE $BUBBLEUPNP bubble && exit 0 || exit $?
        ;;
*)      log_action_msg "Usage: /etc/init.d/bubble {start|stop|restart|reload|force-reload|status}"
        exit 2
        ;;
esac
exit 0

Nun werden wir das Skript /etc/init.d/bubble ausführbar machen.

root:/opt/BubbleUPnPServer-0.7# chmod 755 /etc/init.d/bubble

Damit wir es beim Update es leichter haben, setzen wir ein Symlink auf das Verzeichnis BubbleUPnPServer-0.7. Will man später die Version 0.8 installieren, kann das in einem separaten Verzeichnis BubbleUPnPServer-0.8 passieren. Um die Version 0.8 dann Live zu schalten, ändert man dann einfach den Symlink bubble auf die 0.8 Version.

root:/opt/BubbleUPnPServer-0.7# cd ..
root:/opt# sudo ln -s BubbleUPnPServer-0.7 bubble

Wenn alles getan ist (…trinke ein Bier), starten wir den BubbleUPnPServer wie folgt.

root:/opt# service bubble start
[ ok ] Starting bubble: bubble.

Damit der BubbleUPnPServer auch bei Booten startet, verwenden wir update-rc.d um in den Default Runlevel entsprechende Symlinks zu setzen.

root:/opt# update-rc.d bubble defaults

Um den neu installieren BubbleUPnPServer zu konfigurieren, gehen wir einfach auf folgende Adresse.

https://<SERVERADDR>:58051/

Dokumentation